package com.ticket.system.mapper;

import java.util.List;
import com.ticket.system.domain.YanchuTicketPrice;
import com.ticket.system.domain.vo.SessionAndTicket;
import org.apache.ibatis.annotations.Param;

/**
 * 场次价格Mapper接口
 * 
 * @author ruoyi
 * @date 2023-09-27
 */
public interface YanchuTicketPriceMapper 
{
    /**
     * 查询场次价格
     * 
     * @param id 场次价格主键
     * @return 场次价格
     */
    public YanchuTicketPrice selectYanchuTicketPriceById(Long id);

    /**
     * 查询场次价格列表
     * 
     * @param yanchuTicketPrice 场次价格
     * @return 场次价格集合
     */
    public List<YanchuTicketPrice> selectYanchuTicketPriceList(YanchuTicketPrice yanchuTicketPrice);

    public List<YanchuTicketPrice> selectPriceList(Long sessionId);

    public List<YanchuTicketPrice> selectProgPriceList(Long sessionId);

    /**
     * 新增场次价格
     * 
     * @param yanchuTicketPrice 场次价格
     * @return 结果
     */
    public int insertYanchuTicketPrice(YanchuTicketPrice yanchuTicketPrice);

    /**
     * 修改场次价格
     * 
     * @param yanchuTicketPrice 场次价格
     * @return 结果
     */
    public int updateYanchuTicketPrice(YanchuTicketPrice yanchuTicketPrice);

    /**
     * 删除场次价格
     * 
     * @param id 场次价格主键
     * @return 结果
     */
    public int deleteYanchuTicketPriceById(Long id);

    /**
     * 批量删除场次价格
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYanchuTicketPriceByIds(Long[] ids);

    /**
     * 演出价格区间
     *
     * @param performIds
     * @return
     */
    List<SessionAndTicket> getPrice(@Param("performIds") List<Long> performIds,@Param("sessionIds") List<Long> sessionIds);

    /**
     * 将场次座位置空
     *
     * @param sessionId
     */
    void updateYanchuTicketPriceBy(Long sessionId);
}
